Conventional logic circuits require initialization after application of primary power. Improper, and perhaps unpredictable operations would ensue without initialization. Initialization generally refers to the process of preparing a logic circuit for normal operations. For example, a counting circuit would be set to zero during initialization, a control sequencer would be set to a monitoring as opposed to a controlling state, and a microprocessor would, among other actions, clear internal arithmetic registers. The process of initialization may vary with the complexity of the logic circuit.
Initialization of a logic circuit may require several transitions of a clock signal. Conventional logic circuits incorporate storage elements such as flip-flops, registers, and memory, often with feedback so that the future content of the storage element depends on the current content. A flip-flop, which ordinarily requires a clock signal to change its content, may require a clock signal to establish an intended initial content. When power is first applied to a storage element the content of the storage element may be unpredictable. However, the intended initial content of controlling storage elements (the initial state) of the circuit is established after the circuit receives a predetermined number of clock signals. More than one clock signal would be required, for example, when the content of a successive storage element can be set only by the output of a preceding storage element. In that case, a first clock signal would clear the first element and a second clock signal would clear the second element.
Clock signals are conventionally provided by circuitry external to the logic circuit. To initialize a circuit having storage elements may require an initialization signal characterized by a logic level, such as a low-true reset signal, a signal transition from one logic state to another logic state, such as a clock signal transition, or a succession of such transitions, such as a pulse, a pattern of transitions, or a pulse train. When the complexity of the initialization signal would add undue complexity to a single logic circuit and the logic circuit designer can anticipate that several identical logic circuits would be used together in a system or product, the logic circuit designer specifies the initialization signal requirements and the system designer implements these requirements in a circuit external to the logic circuit. Thus, a single external initialization circuit serves several identical logic circuits at the system level. By choosing not to implement an initialization circuit within each logic circuit, the logic circuit designer lowers the cost per unit of the logic circuit. However, the system design becomes more complex.
It is desirable to simplify systems design, especially requirements for system initialization. Systems are formed from the combination of many logic circuits of diverse types. The initialization circuit sufficient for a plurality of logic circuits of a first type can be unsatisfactory for initializing logic circuits of a second type. The system design must coordinate all requisite initialization circuits.
If the system design task was simplified, reliable, lower cost systems could reach the market in less development time. Development and testing of systems consume time and resources to an extent directly proportional to system complexity. System reliability is also directly proportional to system complexity and closely related to the time and resources available for system design and product testing.
Thus, as more complex products become feasible, there remains a need to simplify the systems designed into such products, particularly the processes and circuits performing logic circuit initialization.